/**
 * 有一个带头结点的单链表L，设计一个算法使其元素递增有序
 * 
 * 算法思想：采用直接插入排序的思想，先构成只含一个数据结点的有序单链表，然后依次扫描单链表中剩下的结点*p
 * (直到p==NULL)为止，在有序表中比较查找插入*p的前驱结点*pre,然后将*p插入到*pre之后
 * 
 * */
void Sort(LinkedList& L)
{
	LNode* p = L->next, *pre;
	LNode*r = p->next;
	p->next = NULL;
	p = r;
	while(p) {
		r = p->next;
		pre = L;
		while(pre->next && pre->next->data < p->data) pre = pre->next;
		p->next = pre->next;
		pre->next = p;
		p = r;
   	}
}